/**
 * 2016，thor.com，all rights reserved。
 * 
 * Project：		palmmall-spi
 * Filename：	SMaintainBill.java
 * Created：		2016年9月12日
 * Creator：		wolv
 */
package com.thor.palmmall.rest.repair;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.thor.commons.entity.Entity;
import com.thor.commons.entity.OperateInfo;
import com.thor.commons.entity.UCN;
import com.thor.palmmall.rest.common.AAttachment;
import com.thor.palmmall.rest.common.AOperateInfo;
import com.thor.palmmall.rest.common.ASourceBill;
import com.thor.palmmall.rest.common.AWorkOrder;

/**
 * @author wolv
 *
 */
public class ARepairBill extends Entity {
  private static final long serialVersionUID = -6965055855732243230L;

  /** 版本号 */
  private long version;
  /** 版本时间 */
  private Date versionTime;
  /** 单号 */
  private String billNumber;
  /** 状态 */
  private String bizState;
  /** 工单信息 */
  private AWorkOrder workOrder;
  /** 当前单据类型 */
  private String type;
  /** 当前单据执行人 */
  private String handler;
  /** 报修时间 */
  private Date reportDate;
  /** 报修来源 */
  private String maintainObject;
  /** 项目 */
  private UCN store;
  /** 报修人 */
  private UCN applicant;
  /** 合同 */
  private UCN contract;
  /** 商户/租户 */
  private UCN tenant;
  /** 是否已解决 */
  private Boolean solve;
  /** 来源单号 */
  private ASourceBill sourceBill;
  /** 联系方式 */
  private String contactInfo;
  /** 期望维修时间 */
  private Date appointmentTime;
  /** 用户组id */
  private String permGroupId;
  /** 用户组名称 */
  private String permGroupTitle;
  /** 维修前照片 */
  private List<AAttachment> beforePictures = new ArrayList<AAttachment>();
  /** 描述 */
  private String maintainContent;
  /** 维修类型 */
  private String maintainType;
  /** 维修地点 */
  private String maintainAddress;
  /** 回访备注 */
  private String tenantEvaluation;
  /** 过程记录 */
  private String completionInfo;
  /** 维修评价 */
  private ARepairEvaluation evaluation;
  /** 评价人 */
  private UCN evaluateUser;
  /** 评价时间 */
  private Date evaluateTime;
  /** 是否外派 */
  private Boolean transferOther;
  /** 维修记录 */
  private ARepairRecord repairRecord;
  /** 维修后照片 */
  private List<AAttachment> afterPictures = new ArrayList<AAttachment>();
  /** 附件 */
  private List<AAttachment> attachments = new ArrayList<AAttachment>();
  /** 外派明细 */
  private List<ATransferInfo> transferInfos = new ArrayList<ATransferInfo>();;
  /** 维修开始时间 */
  private Date maintainBeginTime;
  /** 维修结束时间 */
  private Date maintainEndTime;
  /** 作废原因 */
  private String abortMsg;
  private String bpmState;
  private String bpmMessage;
  private String bpmInstance;
  private String bpmOutgoingState;
  private String remark;
  private AOperateInfo createInfo;
  private AOperateInfo lastModifyInfo;
  private Date submitTime;
  private Date dealTime;
  private String dealUser;
  private Date finishTime;
  
  public long getVersion() {
    return version;
  }

  public void setVersion(long version) {
    this.version = version;
  }

  public Date getVersionTime() {
    return versionTime;
  }

  public void setVersionTime(Date versionTime) {
    this.versionTime = versionTime;
  }

  public String getBillNumber() {
    return billNumber;
  }

  public void setBillNumber(String billNumber) {
    this.billNumber = billNumber;
  }

  public String getBizState() {
    return bizState;
  }

  public void setBizState(String bizState) {
    this.bizState = bizState;
  }

  public UCN getStore() {
    return store;
  }

  public void setStore(UCN store) {
    this.store = store;
  }

  public UCN getContract() {
    return contract;
  }

  public void setContract(UCN contract) {
    this.contract = contract;
  }

  public UCN getTenant() {
    return tenant;
  }

  public void setTenant(UCN tenant) {
    this.tenant = tenant;
  }

  public Boolean getSolve() {
    return solve;
  }

  public void setSolve(Boolean solve) {
    this.solve = solve;
  }

  public ASourceBill getSourceBill() {
    return sourceBill;
  }

  public void setSourceBill(ASourceBill sourceBill) {
    this.sourceBill = sourceBill;
  }

  public String getContactInfo() {
    return contactInfo;
  }

  public void setContactInfo(String contactInfo) {
    this.contactInfo = contactInfo;
  }

  public Date getAppointmentTime() {
    return appointmentTime;
  }

  public void setAppointmentTime(Date appointmentTime) {
    this.appointmentTime = appointmentTime;
  }

  public String getTenantEvaluation() {
    return tenantEvaluation;
  }

  public void setTenantEvaluation(String tenantEvaluation) {
    this.tenantEvaluation = tenantEvaluation;
  }

  public ARepairEvaluation getEvaluation() {
    return evaluation;
  }

  public void setEvaluation(ARepairEvaluation evaluation) {
    this.evaluation = evaluation;
  }

  public String getPermGroupId() {
    return permGroupId;
  }

  public void setPermGroupId(String permGroupId) {
    this.permGroupId = permGroupId;
  }

  public String getPermGroupTitle() {
    return permGroupTitle;
  }

  public void setPermGroupTitle(String permGroupTitle) {
    this.permGroupTitle = permGroupTitle;
  }

  public ARepairRecord getRepairRecord() {
    return repairRecord;
  }

  public void setRepairRecord(ARepairRecord repairRecord) {
    this.repairRecord = repairRecord;
  }

  public List<AAttachment> getAfterPictures() {
    return afterPictures;
  }

  public void setAfterPictures(List<AAttachment> afterPictures) {
    this.afterPictures = afterPictures;
  }

  public Date getMaintainBeginTime() {
    return maintainBeginTime;
  }

  public void setMaintainBeginTime(Date maintainBeginTime) {
    this.maintainBeginTime = maintainBeginTime;
  }

  public Date getMaintainEndTime() {
    return maintainEndTime;
  }

  public void setMaintainEndTime(Date maintainEndTime) {
    this.maintainEndTime = maintainEndTime;
  }

  public AWorkOrder getWorkOrder() {
    return workOrder;
  }

  public void setWorkOrder(AWorkOrder workOrder) {
    this.workOrder = workOrder;
  }

  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public String getHandler() {
    return handler;
  }

  public void setHandler(String handler) {
    this.handler = handler;
  }

  public Date getReportDate() {
    return reportDate;
  }

  public void setReportDate(Date reportDate) {
    this.reportDate = reportDate;
  }

  public String getMaintainObject() {
    return maintainObject;
  }

  public void setMaintainObject(String maintainObject) {
    this.maintainObject = maintainObject;
  }

  public UCN getApplicant() {
    return applicant;
  }

  public void setApplicant(UCN applicant) {
    this.applicant = applicant;
  }

  public List<AAttachment> getBeforePictures() {
    return beforePictures;
  }

  public void setBeforePictures(List<AAttachment> beforePictures) {
    this.beforePictures = beforePictures;
  }

  public UCN getEvaluateUser() {
    return evaluateUser;
  }

  public void setEvaluateUser(UCN evaluateUser) {
    this.evaluateUser = evaluateUser;
  }

  public Date getEvaluateTime() {
    return evaluateTime;
  }

  public void setEvaluateTime(Date evaluateTime) {
    this.evaluateTime = evaluateTime;
  }

  public Boolean getTransferOther() {
    return transferOther;
  }

  public void setTransferOther(Boolean transferOther) {
    this.transferOther = transferOther;
  }

  public List<AAttachment> getAttachments() {
    return attachments;
  }

  public void setAttachments(List<AAttachment> attachments) {
    this.attachments = attachments;
  }

  public List<ATransferInfo> getTransferInfos() {
    return transferInfos;
  }

  public void setTransferInfos(List<ATransferInfo> transferInfos) {
    this.transferInfos = transferInfos;
  }

  public String getAbortMsg() {
    return abortMsg;
  }

  public void setAbortMsg(String abortMsg) {
    this.abortMsg = abortMsg;
  }

  public String getMaintainType() {
    return maintainType;
  }

  public void setMaintainType(String maintainType) {
    this.maintainType = maintainType;
  }

  public String getBpmState() {
    return bpmState;
  }

  public void setBpmState(String bpmState) {
    this.bpmState = bpmState;
  }

  public String getBpmMessage() {
    return bpmMessage;
  }

  public void setBpmMessage(String bpmMessage) {
    this.bpmMessage = bpmMessage;
  }

  public String getBpmInstance() {
    return bpmInstance;
  }

  public void setBpmInstance(String bpmInstance) {
    this.bpmInstance = bpmInstance;
  }

  public String getBpmOutgoingState() {
    return bpmOutgoingState;
  }

  public void setBpmOutgoingState(String bpmOutgoingState) {
    this.bpmOutgoingState = bpmOutgoingState;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getMaintainContent() {
    return maintainContent;
  }

  public void setMaintainContent(String maintainContent) {
    this.maintainContent = maintainContent;
  }

  public String getMaintainAddress() {
    return maintainAddress;
  }

  public void setMaintainAddress(String maintainAddress) {
    this.maintainAddress = maintainAddress;
  }

  public AOperateInfo getCreateInfo() {
    return createInfo;
  }

  public void setCreateInfo(AOperateInfo createInfo) {
    this.createInfo = createInfo;
  }

  public AOperateInfo getLastModifyInfo() {
    return lastModifyInfo;
  }

  public void setLastModifyInfo(AOperateInfo lastModifyInfo) {
    this.lastModifyInfo = lastModifyInfo;
  }

  public String getCompletionInfo() {
    return completionInfo;
  }

  public void setCompletionInfo(String completionInfo) {
    this.completionInfo = completionInfo;
  }

  public Date getSubmitTime() {
    return submitTime;
  }

  public void setSubmitTime(Date submitTime) {
    this.submitTime = submitTime;
  }

  public Date getDealTime() {
    return dealTime;
  }

  public void setDealTime(Date dealTime) {
    this.dealTime = dealTime;
  }

  public String getDealUser() {
    return dealUser;
  }

  public void setDealUser(String dealUser) {
    this.dealUser = dealUser;
  }

  public Date getFinishTime() {
    return finishTime;
  }

  public void setFinishTime(Date finishTime) {
    this.finishTime = finishTime;
  }
  
}
